import os
from PIL import Image

def convert_png_to_ico(png_path, output_dir):
    """
    将PNG图片转换为ICO格式图片，并保存到指定的输出目录。

    参数:
    png_path (str): PNG图片的路径。
    output_dir (str): 输出ICO文件的目录。
    """
    # 检查文件是否存在
    if not os.path.exists(png_path):
        print("指定的PNG文件不存在")
        return
    
    # 检查输出目录是否存在，如果不存在则创建
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    # 打开PNG图片
    try:
        img = Image.open(png_path)
    except Exception as e:
        print(f"无法打开图片: {e}")
        return
    
    # 构建ICO文件的路径
    ico_filename = os.path.basename(png_path).replace('.png', '.ico')
    ico_path = os.path.join(output_dir, ico_filename)
    
    # 转换并保存为ICO格式
    try:
        img.save(ico_path, format='ICO')
        print(f"成功将 {png_path} 转换为 {ico_path}")
    except Exception as e:
        print(f"转换失败: {e}")

if __name__ == "__main__":
    # 用户输入PNG图片路径
    png_path = input("请输入PNG图片的路径: ")
    
    # 指定输出目录
    output_dir = r'D:\desktop\image\logo'
    
    # 调用转换函数
    convert_png_to_ico(png_path, output_dir)